<?php namespace Home\Controller;
use Hdphp\Controller\Controller;
//测试控制器
class ContentController extends Controller{
	private $Model;
	//构造函数
	public function __init(){
		$this->Model = new \Common\Model\Goodsdetail;
	}
	//展示内容页
	public function index(){
		$gid = Q('get.gid',0,'intval');				
		//1.查询顶级分类
		$cateData = Db::table('category')->where("pid = 0")->get();
		
		//2.关联商品表和商品详情详情
		$glData = $this->Model->join('goods','goods_gid','=','gid')->where("gid={$gid}")->find();
		//将图册字符串拆分为数组	
			$glData['gdpics'] = explode(',', $glData['gdpics']);
			
		//3.查询该商品的商品属性
		$type_typid = Db::table('goods') ->where("gid={$gid}")->pluck('type_typid');		
		//类型属性数据
		$tyattr = Db::table('typeattr')->where("type_typid={$type_typid} and tclass=1 ")->get();
		//p($glData);																																																																										
		//获得tid
		$tid = Db::table('typeattr')->where("type_typid={$type_typid} and tclass=1 ")->pluck('tid');
		//定义一个空数组
		$attr=array();
		//重组数组
		foreach ($tyattr as $k => $v) {
			$arr['tname']= $v['tname'];
			$arr['tavalue']=Db::table('goodsattr')->where("typeattr_tid={$v['tid']} AND goods_gid={$gid}")->get();
			$attr[]=$arr;
		}
		//p($attr);
		View::with('attr',$attr);
		View::with('glData',$glData);
		View::with('cateData',$cateData);
	    View::make();
	}
	//内容页点击加号异步查询库存
	public function numquery(){
		if(IS_POST){
		    //获得商品属性id	
			$num1 = Q('post.colorid',0,'intval');
			$num2 = Q('post.sizeid',0,'intval');
			//组合成联合id小的在前大的在后(后台注意：添加货品表的联合id时也要小的在前大的在后这样才能查询)
			if($num1<$num2){
				$comids = Q('post.colorid') . '|' . Q('post.sizeid');
			}else{
				$comids = Q('post.sizeid') . '|' . Q('post.colorid');
			}
			//根据联合id查询该货品的库存
			$model = new \Common\Model\Kindgoods;			
			$kgstore = $model->where("comid = '$comids'")->pluck('kgstore');
			$kstore = array(
				'stores' => $kgstore,
			);
			//将数据已JSON的形式返出(只能返出true或false的值否则ajax里JS判断不了)
			if($kstore){
				echo json_encode($kstore);exit;
			}else{
				echo json_encode(FALSE);exit;
			}
			
		}
	}
	//内容页异步请求查询货品
	public function goodsquery(){
	   //如果有异步请求
	   if(IS_POST){
	   		//接收请求过来的联合id数组
	   		$comid = Q("post.comid");
			//对该数组进行升序排列,如果用一个变量接收排序后的数组$att=sort($comid);，那么该值是布尔值0/1
		   sort($comid);
		   //将排序后的数组组合成数据库里储存联合id形式的字符串
		   $comids = implode('|', $comid);
		   //实例化货品列表
		   $model = new \Common\Model\Kindgoods;
		   //查询该货品信息
		   $kgoodsData = $model->where("comid='$comids'")->find();
		   //将数据已JSON的形式返出(只能返出true或false的值否则ajax里JS判断不了)
		   if($kgoodsData['kgstore'] == 0){
		   		echo json_encode(false);exit;
		   }else{
		   		echo json_encode($kgoodsData);exit;
		   }
	   }
	}
	//异步添加到购物车
	public function addcart(){
	    //如果有异步请求，将提交过来的信息存入$_SESSION里面
		if(IS_POST){		   
			//获得商品属性id	
			$num1 = Q('post.colorid',0,'intval');
			$num2 = Q('post.sizeid',0,'intval');
			//组合成联合id小的在前大的在后
			if($num1<$num2){
				$comids = Q('post.colorid') . '|' . Q('post.sizeid');
			}else{
				$comids = Q('post.sizeid') . '|' . Q('post.colorid');
			}
			//根据联合id查询是否有次货品
			$model = new \Common\Model\Kindgoods;			
			$kgoodsData = $model->where("comid = '$comids'")->find();
			//如果该货品无货
			if(!$kgoodsData) return false;
			//获得商品gid，查询
			$gid = Q('post.gid');
			//查询列表图
			$listview = Db::table('goods')->where("gid={$gid}")->pluck('listview');
			//框架里定义的新数组把隐藏域里传过来的数组压入新的数组
		    $data = array(
				'id'    	=> Q('post.gid',0,'intval'),
				'name'  	=> Q('post.gname',''),
				'num'	 	=> Q('post.num',0,'intval'),				
				'price' 	=> Q('post.shopprice',0,'intval'),
				'options'   =>array(
								'gnum'    => Q('post.gnum',''),
								'color'	  => Q('post.color',''),
								'size'    => Q('post.size',''),
								'listview'=> $listview,
								'comids'  => $comids,
								'kid'	  => $kgoodsData['kid'],
								'kgstore' => $kgoodsData['kgstore'],
								'kgoodnum'	  => $kgoodsData['kgoodnum'],
							 ),
				
			);
			
			//用框架里的购物车类把新数组存入session里面
			Cart::add($data);
			//把购物车里需要的商品总数和商品总价组成一个数组，以JSON的形式返出去，页面中就可以接到
			$shop_info = array(
				'total_num'    => $_SESSION['cart']['total_rows'],
				'total_price'  => $_SESSION['cart']['total'],
				//'total_kgstore'=> $_SESSION['cart']['goods']['']
				
			);
			//返出JSON形式的数据之后一定要加exit否则它会执行下面的代码
			echo json_encode($shop_info);exit;

			
		}
	}
	
}




















 ?>